前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
  • React专栏

    • React组合式开发实战

      • 前端开发的四个时代
      • 企业管理系统的前世今生
      • 可视化页面搭建工具
      • 实战篇 01:开发前准备
      • 实战篇 02:项目脚手架
      • 实战篇 03:页面布局方案
      • 实战篇 04:权限管理机制
      • 实战篇 05:菜单匹配逻辑
      • 实战篇 06:消息通知设计
      • 实战篇 07:多语言支持
      • 继往开来:可视化页面搭建工具
    • React Hooks与Immutable实战

    • React SSR服务端渲染与同构实践

    • IM聊天系统前端开发实践

    • 微前端开发实战

    • React进阶实践

  • Vue专栏

  • 移动端专栏

  • Node专栏

  • 前端工程化专栏

  • 算法专栏

  • Typescript专栏

  • 其他专栏

完整面试题地址:
作者:程序员poetry
扫码关注作者公众号:「前端进阶之旅」 每天分享技术干货
前端进阶之旅公众号二维码

在上一部分中,我们对 PWA 的底层技术进行了全面介绍,本部分我们将通过实现一个简单的博客系统(见下图)来对上述各技术点进行综合运用,以便让大家更好地掌握 PWA。

本部分完整代码仓库为: github.com/nanjingboy/…,主要目录结构如下:

├── client
│   ├── db.js
│   ├── detail
│   │   ├── edit.png
│   │   ├── index.js
│   │   └── styles.css
│   ├── edit
│   │   ├── index.js
│   │   └── styles.css
│   ├── global
│   │   ├── index.css
│   │   └── index.js
│   ├── home
│   │   ├── index.js
│   │   ├── plus.png
│   │   └── styles.css
│   ├── index.ejs
│   ├── launcher-icon.png
│   ├── manifest.json
│   ├── network.js
│   └── sw.js
├── server
│   ├── db.js
│   ├── push.js
│   └── server.js
├── webpack
│   └── plugins
│       ├── SWFilePlugin.js
│       ├── ShellPlugin.js
│       └── index.js
├── webpack.config.js
@前端进阶之旅: 代码已经复制到剪贴板
  • client:主要包含页面、Service Worker、应用配置(manifest.json)等前端业务逻辑。
  • server:主要包含 Web Server、数据库操作、Web Push 等后端业务逻辑。
  • webpack:Webpack plugin,用于生成 Shell 文件及预缓存列表。
  • webpack.config.js:Webpack 配置文件。

所用技术:

  • 前端:由于示例较为简单,该示例并未选用如 Vue、React 等第三方框架,而是使用原生 JavaScript + DOM API 来完成相关逻辑。
  • 前端构建:由于 webpack 在前端构建中占有大量的份额,故此选择 webpack 作为构建工具。
  • 服务端:Node.js + Koa。

通过本部分的学习,除了能够对 PWA 相关技术进行熟练运用外,大家还将会掌握以下知识点:

  • 如何通过自定义 Webpack Plugin 实现动态预缓存列表的生成。
  • 应用 Shell、导航预加载解决的问题及使用。
  • 常见请求策略及缓存置换问题。
  • Server Worker 的更新问题。

注:由于使用了 ES6 语法且未进行转义处理,故建议在最新的 Chrome 下运行客户端。

fe
基础篇
进阶篇
高频篇
精选篇
手写篇
原理篇
面经篇
自检篇
每日一题
  • 综合
    • 综合题型
    • 其他问题
    • 设计模式
    • 思维导图
    • 学习路线
  • 前端基础
    • HTTP
    • 浏览器
    • 计算机基础
  • 进阶学习
    • NPM工作流
    • Docker
    • Canvas
    • Node学习指南
    • 前端综合文章
  • 其他
    • Handbook
    • 职场话题
    • CSS可视化
小程序题库
公众号动态
博客动态
开发者导航
  • React专栏

    • React组合式开发实战

      • 前端开发的四个时代
      • 企业管理系统的前世今生
      • 可视化页面搭建工具
      • 实战篇 01:开发前准备
      • 实战篇 02:项目脚手架
      • 实战篇 03:页面布局方案
      • 实战篇 04:权限管理机制
      • 实战篇 05:菜单匹配逻辑
      • 实战篇 06:消息通知设计
      • 实战篇 07:多语言支持
      • 继往开来:可视化页面搭建工具
    • React Hooks与Immutable实战

    • React SSR服务端渲染与同构实践

    • IM聊天系统前端开发实践

    • 微前端开发实战

    • React进阶实践

  • Vue专栏

  • 移动端专栏

  • Node专栏

  • 前端工程化专栏

  • 算法专栏

  • Typescript专栏

  • 其他专栏